1. Field of the Invention
The present invention relates to an error correction code in a digital communication system, and particularly, to a method and an apparatus for encoding/decoding Reed-Solomon(hereinafter referred to RS) code made by non-binary symbols in bit level.
2. Description of the Background Art
Generally, a product code is a form of a serial concatenation block turbo code, and shows a high trade-off in a performance and in a complexity compared to a turbo code based on a convolution code. Especially, the product code is less complex and has a higher performance than the turbo code based on the convolution code in a high rate system having a high band-width efficiency and in a short block frame for communication devices.
Also, the performance of the product code is decided by the component code, and therefore the RS code having a good characteristics is used for the component code of the product code.
FIG. 1 is a block diagram showing a general digital communication system. As shown therein, the system comprises a source information inputting unit 110 for inputting code information in order to encode source information; an encoding unit 120 for encoding the source information in order to check and correct an error, which may be generated in the source information, on a communication channel based on the inputted code information; a modulating unit 130 for modulating the encoded source information into a signal transmittable on the communication channel; a demodulating unit 150 for demodulating the modulated signal by receiving a transmitted signal from the communication channel 140; a decoding unit 160 for decoding the demodulated signal into the original source information based on the code information; and a source information outputting unit 170 for outputting the source information decoded in the decoding unit 160.
The source information inputting unit 110 is inputted code information such as code length for the symbol, information length, coefficient of information polynomial, and coefficient of generator polynomial.
The encoding unit 120 encodes the symbols based on the code information inputted in the source information inputting unit 110.
The modulating unit 130 modulates the symbols encoded in the encoding unit 120 so as to be transmitted through the communication channels, and after that the modulated symbols are transmitted to destination through the communication channel 140.
The communication channel is made by radio or wire.
The demodulating unit 150 demodulates the transmitted symbols by using a demodulating method corresponding to the modulating method of the modulating unit 130, and after that inputs the demodulated symbols into the decoding unit 160.
The decoding unit 160 decodes the demodulated symbols, and transmits the decoded source information to the source information outputting unit 170.
FIG. 2 is a structure view showing an RS product code according to the conventional art. As shown therein, Section I designates an information part, and Section II and III designate parity parts. Also, Section IV is a parity part for encoding the Section II or Section III making the parity part into the information part.
In the RS product code, respective row and column vectors are (N, K) codewords, and a respective symbol has a GF(2m) dimension. Also, the size of an interleaver needed to perform encoding/decoding of the RS product code is K2. Therefore, the entire depth of a trellis for SISO (Soft In Soft Out) decoding is N, and a respective node of the trellis has 2m branches.
The SISO decoding method for the RS product code can be divided into two methods.
A first method is a chase algorithm. However, thin algorithm has a problem that the decoder becomes very complex because the number of test patterns which is to be produced is very large for the RS code having a large dimension.
A second method is a SISO decoding method based on a trellis using the MAP (Maximum A posteriori) algorithm, Max-log, SOVA (Soft-Output Viterbi Algorithm) on a trellis of block code.
However, in the above algorithms, the RS code has non-binary characteristics, and the number of branches of a respective trellis node is non-binary. Therefore, the decoding processes of the algorithms in the respective node are more complex than that in the binary branches.
Also, the size of the interleaver is small according to the symbol dimension comparing to the size of the block which performs the decoding. Therefore, it is inefficient to use an iterative decoder in which the performance of the algorithms depends on the size of the interlearver.